// 引入工具类
import http from './config'
// 使用
const URL = 'api-workflow' // 公共前缀地址
export const workFlow = {
    //////////////////////////////////////////////////////流程定义///////////////////////////////////////////////////
    // 流程定义分页查询
    queryModelForPage(data) {
        return http.post(URL + '/workflow/ProcessDef/queryModelForPage', data)
    },
    // 流程定义版本分页查询
    queryDefForPage(data) {
        return http.post(URL + '/workflow/ProcessDef/queryDefForPage', data)
    },
    // 流程定义删除（非code下所有版本)
    delProcessDefAllVersion(data) {
        return http.post(URL + '/workflow/ProcessDef/delProcessDefAllVersion', data)
    },
    // 流程定义删除（code下）
    delProcessDef(data) {
        return http.post(URL + '/workflow/ProcessDef/delProcessDef', data)
    },

    // 流程定义新增
    saveProcessDef(data) {
        return http.post(URL + '/workflow/ProcessDef/saveProcessDef', data)
    },
    // 流程定义编辑
    // 分页查询已分布流程定义
    queryDefForAgent(data) {
        return http.post(URL + '/workflow/ProcessDef/queryDefForAgent', data)
    },
    // 流程定义复制
    processCopy(data) {
        return http.post(URL + '/workflow/ProcessDesign/processCopy', data)
    },

    //////////////////////////////////////////////////////流程设计///////////////////////////////////////////////////

    // 保存流程设计图
    saveProcessDesign(data) {
        return http.post(URL + '/workflow/ProcessDesign/saveProcessDesign', data)
    },
    // 发布流程
    deployProcess(data) {
        return http.post(URL + '/workflow/ProcessDesign/deployProcess', data)
    },
    // 根据id获取流程模型编辑器
    getProcessDesignById(data) {
        return http.post(URL + '/workflow/ProcessDesign/getProcessDesignById', data)
    },
    // 激活
    processActivate(data) {
        return http.post(URL + '/workflow/ProcessDesign/processActivate', data)
    },
    // 锁定
    processSuspend(data) {
        return http.post(URL + '/workflow/ProcessDesign/processSuspend', data)
    },
    // 流程实例-回显
    getDetailsByDesignId(data) {
         return http.post(URL + '/workflow/processDyna/getProcessDynaVarByModelId', data)
    },
    // 开始事件结束事件
    listenerGetByType(data){
        return http.post(URL + '/workflow/listener/getByType', data)
    },

    //////////////////////////////////////////////////////流程实例///////////////////////////////////////////////////

    // 流程实例-查看流程进度图
    processInstanceRunningView(data) {
        return http.post(URL + '/workflow/ProcessInstance/processInstanceRunningView', data)
    },
    // 流程实例-复位发起流程
    restart(data) {
        return http.post(URL + '/workflow/ProcessInstance/restart', data)
    },
    // 流程实例-启动流程ById
    startById(data) {
        return http.post(URL + '/workflow/ProcessInstance/startById', data)
    },
    // 流程实例-启动流程最新版本号
    startByLatestVersionKey(data) {
        return http.post(URL + '/workflow/ProcessInstance/startByLatestVersionKey', data)
    },
    // 流程实例-挂起
    suspend(data) {
        return http.post(URL + '/workflow/ProcessInstance/suspend', data)
    },
    // 流程实例-激活
    activate(data) {
        return http.post(URL + '/workflow/ProcessInstance/activate', data)
    },
    // 流程实例-终止
    terminate(data) {
        return http.post(URL + '/workflow/ProcessInstance/terminate', data)
    },
    //////////////////////////////////////////////////////流程进度///////////////////////////////////////////////////
    // 流程进度-分页查询
    queryForPageProcessInstanceHistory(data) {
        return http.post(URL + '/workflow/processInstanceHistory/queryForPage', data)
    },
    //////////////////////////////////////////////////////流程代理///////////////////////////////////////////////////

    // 流程代理分页查询
    queryForPageProcessAgent(data) {
        return http.post(URL + '/workflow/ProcessAgent/queryForPage', data)
    },
    // 流程代理-删除
    removeProcessAgent(data) {
        return http.post(URL + '/workflow/ProcessAgent/remove', data)
    },
    // 流程代理-保存
    saveProcessAgent(data) {
        return http.post(URL + '/workflow/ProcessAgent/save', data)
    },
    //////////////////////////////////////////////////////任务实例///////////////////////////////////////////////////
    // 任务审批
    approveDo(data) {
        return http.post(URL + '/workflow/TaskInstance/approve', data)
    },
    // 任务审批-查询审批人
    queryUserForCandidate(data) {
        return http.post(URL + '/workflow/TaskInstance/queryUserForCandidate', data);
    },

    // 代办任务-分页查询
    queryForPageTaskInstance(data) {
        return http.post(URL + '/workflow/TaskInstance/queryForPage', data)
    },
    // 待办任务toForm
    queryForTaskTaskInstance(data) {
        return http.post(URL + '/workflow/TaskInstance/queryForTask', data)
    },
    // 点击点击流程进度按钮toForm
    processInstanceQueryForInst(data) {
        return http.post(URL + '/workflow/ProcessInstance/queryForInst', data)
    },
    // 任务改派
    taskDelegate(data) {
        return http.post(URL + '/workflow/TaskInstance/taskDelegate', data)
    },
    //////////////////////////////////////////////////////任务历史///////////////////////////////////////////////////
    histTaskList(data) {
        return http.post(URL + '/workflow/TaskInstanceHistory/histTaskList', data)
    },
    // 已办任务-分页查询
    queryForPageTaskInstanceHistory(data) {
        return http.post(URL + '/workflow/TaskInstanceHistory/queryForPage', data)
    }
}